#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main()
{
int t,n,k;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&k);
int mex=0,maxn=0;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n);
int ans;
if(k==0)
{
ans=n;
}else
{
int flag=0;
for(int i=0;i<n;i++)
{
if(a[i]!=i)
{
mex=i;
flag=1;
break;
}
}
if(flag==0)
{
mex=n;
}
int x;
maxn=a[n-1];
if(mex<maxn)
{
if((mex+maxn)%2==1)
{
x=(mex+maxn)/2+1;
}
else
{
x=(mex+maxn)/2;
}
int temp=0;
for(int i=0;i<n;i++)
{
if(a[i]==x)
{
ans=n;
temp=1;
break;
}
}
if(temp==0)
{
ans=n+1;
}
}else
{
ans=n+k;
}
}printf("%d\n",ans);
}
}
145. Binary Tree Postorder Traversal | 94. Binary Tree Inorder Traversal |
101. Symmetric Tree | 77. Combinations |
46. Permutations | 226. Invert Binary Tree |
112. Path Sum | 1556A - A Variety of Operations |
136. Single Number | 169. Majority Element |
119. Pascal's Triangle II | 409. Longest Palindrome |
1574A - Regular Bracket Sequences | 1574B - Combinatorics Homework |
1567A - Domino Disaster | 1593A - Elections |
1607A - Linear Keyboard | EQUALCOIN Equal Coins |
XOREQN Xor Equation | MAKEPAL Weird Palindrome Making |
HILLSEQ Hill Sequence | MAXBRIDGE Maximise the bridges |
WLDRPL Wildcard Replacement | 1221. Split a String in Balanced Strings |
1002. Find Common Characters | 1602A - Two Subsequences |
1555A - PizzaForces | 1607B - Odd Grasshopper |
1084A - The Fair Nut and Elevator | 1440B - Sum of Medians |